The present invention relates to decoding of a communication system, and especially to cyclic step by step decoding method used in discrete Fourier transform cyclic code of a communication system.
Error control coding is one of efficient techniques for error control in many digital systems. In particular, the class of Reed-Solomon codes (RS code) has been widely used in reliable communication systems and data storage systems. An (n, k) RS code is encoding and decoding by using the arithmetic of Galois fields GF(Pm). Since the minimum distance of the code is nxe2x88x92k+1, it is called a maximum-distance-separable code (MDS code). Although the RS has many important advantages; for example, it has high error correcting capability and can simultaneously correct random errors and multiple burst errors. However its code length is constrained to be pmxe2x88x921 or a factor of pmxe2x88x921, and each byte in a code word should be m bits (if p=2), besides any error bit caused by a low noise will be counted as an error of the whole byte. Discrete Fourier Transforms are playing on increasing implement role in many practical applications. There are same branches for investigation of the discrete transform; for example, as indicated by Marshall [1], the using of error control coding for discrete signals, and by Lin and Shiu [2], using DCT in Real-valued error control coding. However, the Wu-Shiu""s code has not cyclic structure such that it cannot be encoded and decoded by using a step-by-step manner.
In this invention, a (N, Nxe2x88x92dmin+1) cyclic code is presented based on complex-valued discrete Fourier transform, the cyclic structure of the code makes the encoding and decoding procedures much easier than that of Marshall""s and Wu-Shiu""s codes. Since the code length N of the code can be any positive integer and each symbol in a code word is a complex value (consists of two real value), the code can be directly applied to analog communication systems and analog signal storage systems. Moreover, small amount of errors caused from low noise, computation truncating or rounding can be deleted by using a proper threshold for syndrome values. Finally, a (N, Nxe2x88x922) code is used as an example to illustrate the encoding and decoding procedures.